﻿#define _CRT_SECURE_NO_WARNINGS 1

#include<iostream>
using namespace std;

#include<vector>
#include<hash_map>

class Solution
{
public:
	int totalFruit(vector<int>& f)
	{
		unordered_map<int, int> hash; // 统计窗⼝内出现了多少种⽔果
		int ret = 0;
		for (int left = 0, right = 0; right < f.size(); right++)
		{
			hash[f[right]]++; // 进窗⼝
			while (hash.size() > 2) // 判断
			{
				// 出窗⼝
				hash[f[left]]--;
				if (hash[f[left]] == 0)
					hash.erase(f[left]);
				left++;
			}
			ret = max(ret, right - left + 1);
		}
		return ret;
	}
};